/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ac.persistence;

import ac.entities.Grupo;
import com.ibatis.sqlmap.client.SqlMapClient;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;

/**
 *
 * @author prometheus
 */
public class PersistGrupo {

    public ArrayList<Grupo> buscarTodosGrupos() {
        ArrayList<Grupo> result = null;
        try {
            SqlMapClient sqlMap = SqlConnector.getInstance().getReady();
            result = (ArrayList) sqlMap.queryForList("buscarTodosGrupos");
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            return result;
        }
    }

    public boolean actualizarGrupo(int idGrupo, Date fechaFin) {
        boolean result = false;
        HashMap params = new HashMap();
        params.put("idGrupo", idGrupo);
        params.put("fechaFin", fechaFin);
        try {
            SqlMapClient sqlMap = SqlConnector.getInstance().getReady();
            sqlMap.update("actualizarGrupo", params);
            result = true;
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            return result;
        }
    }

    public int buscarUltimoId() {
        int result = 0;
        try {
            SqlMapClient sqlMap = SqlConnector.getInstance().getReady();
            result = (Integer) sqlMap.queryForObject("buscarUltimoIdGrupo");
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            return result;
        }
    }

    public boolean insertGrupo(Grupo nuevo) {
        boolean result = false;
        try {
            SqlMapClient sqlMap = SqlConnector.getInstance().getReady();
            sqlMap.insert("insertGrupo", nuevo);
            result = true;
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            return result;
        }
    }

    public boolean actualizarGrupoEstimado(Grupo seleccionado) {
        boolean result = false;
        HashMap params = new HashMap();
        params.put("idGrupo", seleccionado.getId());
        params.put("estimado", seleccionado.getEstimado());
        try {
            SqlMapClient sqlMap = SqlConnector.getInstance().getReady();
            sqlMap.update("actualizarGrupoCantidad", params);
            result = true;
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            return result;
        }
    }

}
